
package com.uuah.server.api.transport.retry;

/**
 *  A factory responsible for creating a retry policy. Custom policies should
 * Implement this factory and provide a private class which implements the
 * {@link com.uuah.server.api.transport.retry.IRetryPolicy} interface. The factory is the object
 * that actually gets configured then new {@link com.uuah.server.api.transport.retry.IRetryPolicy}
 * objects are created each time using the configuration on the factory.
 *
 * <p>update record:updator，update time，update content and version</p>
 * @author <a href="jonny_quan@hotmail.com">jonny</a>
 * @date 2009 2009-3-27 上午12:10:10
 * @version 1.0.0
 */
public interface RetryPolicyTemplate {
	IRetryPolicy createRetryInstance();

	IRetryNotifier getNotifier();

	void setNotifier(IRetryNotifier retryNotifier);

	IRetryContext execute(IRetryCallback callback) throws Exception;
}
